Dynamic layout for a search engine results page on implicit user feedback

ABSTRACT

The present invention is directed towards systems and methods for providing dynamic search results based upon historical data through the use of one or more widgets. The method of the present invention comprises receiving a request for content from a client and generating one or more widgets for providing search result content. A display profile is applied to the one or more widgets and the one or more widgets are combined with static search results to form a search result page that is provided to a requesting client.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material,which is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

FIELD OF INVENTION

The invention disclosed herein relates generally to providing searchresults to a user. More specifically, the present invention is directedto systems and methods for providing search results to a user from aplurality of sources via modular widgets that are responsive to userinteraction.

BACKGROUND OF THE INVENTION

Nearly all Internet users interact with search engines on a daily basisfor locating the information they desire. Search engines provide aconvenient access point to a wealth of information related to nearlyevery subject imaginable and research has enabled a search engine tolocate increasingly relevant results based upon a user query.

Despite the popularity of web search engines, little currentlydistinguishes user interaction with one engine from another. Forexample, the search results currently provided by Yahoo! and others aresimilar in their presentation, thus failing to provide any impetus forswitching to or staying with any given search engine. Also, searchengines are often described as a “passthrough” experience; that is, auser merely views the search engine as a temporary stop on the path totheir desired page. This mentality makes it more difficult toefficiently monetize the services of the search engine, since the userhas an incentive to leave the page as quickly as possible.

Additionally, current search engine techniques do not adequatelyleverage the wide variety of vertical searches and properties currentlyavailable. Current user interfaces require users to explicitly indicatethat they want results from each vertical individually and many usersare unaware that vertical searches exist, or how a given user may beable to utilize such vertical searches.

Currently search engines use a wide variety of sophisticated algorithmsto select relevant search results from an index of content items butignore the valuable information for presentation of search results thatthe search engine may gather by monitoring how users interact with thesearch results. This results in a static presentation of data, asopposed to a dynamic display that adjusts to user tendencies andpreferences.

SUMMARY OF THE INVENTION

The present invention is directed towards methods and systems forproviding dynamic search results based upon historical user interactionwith one or more widgets for the display of search results. The methodaccording to one embodiment of the present invention comprises receivinga request for content from a client. In response to the request, one ormore widgets are generated for providing search result content. In apreferred embodiment, the generated widget comprises a plurality ofdynamic HTML elements. In accordance with one embodiment, the generatedwidgets may comprise a plurality of control elements, such as open,close, maximize or minimize buttons.

A display profile may be applied to the generated widgets. In oneembodiment, the display profile may control whether a particular widgetis displayed or hidden when a user initially views a search result page.The display profile may comprise aggregate statistical data regardinguser interaction with a plurality of widgets. Alternatively, the displayprofile may comprise class data regarding interaction with one or morewidgets by a class of users or class of queries.

The generated widgets may be combined with search results to form afinal search result page, with the search results page provided to theclient. In one embodiment, the widgets are combined with the searchresults such that search results are asynchronously requested after thesearch result page is provided. Alternative embodiments may existwherein client information may be recorded upon user interaction withthe widget control elements. These data may be stored within a displayprofile.

The present invention is further directed towards a system for providingdynamic search results based upon historical interaction with one ormore widgets that display search results. The system of the presentinvention comprises a plurality of client devices and a plurality ofdata servers coupled to a network. The system further comprises at leastone content server coupled to the network and operative to receiverequests for content from the client devices. The content servercomprises a widget generator operative to generate one or more widgetsfor providing search result content. In one embodiment, the widgets maycomprise HTML elements. The widgets may also comprise a plurality ofcontrol elements such as open, close, maximize or minimize elements.

The content server may further comprise a page generator operative tocombine widgets with search results to form a search result page and aninteraction log comprising display profiles corresponding to one or morewidgets. In one embodiment, the display profile comprises aggregatestatistical data regarding user interaction with the widgets. In analternative embodiment, the display profile may comprise class dataregarding interaction with the plurality of widgets by a class of users.Embodiments of the invention also contemplate the use of individualprofiles.

The widget generator within the content server may further be operativeto apply the display profiles to one or more widgets. In one embodiment,the display profile may control whether a widget is displayed or hidden.The widgets may further be operative to asynchronously request contentafter the search result page is provided to the client. Alternativeembodiments may exist where client information may be recorded upon userinteraction with the widget control elements. These data may be storedwithin a display profile.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is illustrated in the figures of the accompanying drawingswhich are meant to be exemplary and not limiting, in which likereferences are intended to refer to like or corresponding parts, and inwhich:

FIG. 1 is a block diagram illustrating a system for providingcustomizable search results to a user across a network according to oneembodiment of the present invention;

FIG. 2 is a flow diagram illustrating a method for providing searchresults and widgets in response to a user query according to oneembodiment of the present invention; and

FIG. 3 is a flow diagram illustrating a method for the display ofwidgets on a search result page and monitoring user interactionregarding the same according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanyingdrawings that form a part hereof, and in which is shown by way ofillustration specific embodiments in which the invention may bepracticed. It is to be understood that other embodiments may be utilizedand structural changes may be made without departing from the scope ofthe present invention.

FIG. 1 presents a block diagram illustrating one embodiment of a systemfor providing customizable search results to a user across a network.According to the embodiment illustrated in FIG. 1, a system forproviding search results to a user comprises one or more client devices1012, 1014 and 1016, one or more data servers 1022, 1022 and 1026, oneor more networks 104 and one or more content servers 103.

According to the embodiment of FIG. 1, client devices 1012, 1014 and1016 are communicatively coupled to the network 104, which may include aconnection to one or more local and wide area networks, such as theInternet, and may utilize combinations of both wired and wireless media.According to one embodiment of the invention, a client device 1012, 1014and 1016 is a general purpose personal computer comprising a processor,transient and persistent storage devices operable to execute softwaresuch as a web browser, peripheral devices (input/output, CD-ROM, USB,etc.) and a network interface. For example, a 3.5 GHz Pentium 4 personalcomputer with 512 MB of RAM, 40 GB of hard drive storage space and anEthernet interface to a network. Other client devices are considered tofall within the scope of the present invention including, but notlimited to, hand held devices, set top terminals, mobile handsets, PDAs,etc.

Client devices 1012, 1014 and 1016 are operative to communicate requeststo a given content server 103 via the network 104. A given request maybe in the form of an HTTP request, RTP request, SOAP request, or anynetwork protocol for requesting content as is known to those of skill inthe art. In one embodiment, a client device 1012, 1014 and 1016 mayutilize a web browser to request a dynamically built web page comprisingsearch results for one or more requested search terms or phrases, e.g.,a search query.

According to one embodiment, the content server 103 comprises a contentdata store 1032, interaction log 1034, page generator 1038 and widgetgenerator 1036. The content server 103 may be operative to receiverequests for search results from clients 1012, 1014 and 1016. A givenclient 1012, 1014 and 1016 may generate a search request by providing asearch query within an HTML text box on an HTML page that the contentserver 103 may provide to the user.

The content server 103 may be operative to receive the request andgenerate a page corresponding to the search results. The page that thecontent server 103 generates may comprise search results for contentstored within the content data store 1032 and one or more customizedwidgets that the widget generator 1036 may provide. The content datastore 1032 may comprise a database or other storage mechanismassociating search results with user queries as is known to those ofskill in the art.

A page generator 1038 fetches the main search results from content datastore 1032 and begins building a search result page using the resultsthat the page generator 1038 receives from the content store 1032. Thepage generator may also retrieve one or more widgets that the widgetgenerator 1036 generates, combining the widgets with the results fromthe content store 1032. In accordance with one embodiment, the widgetsthat the widget generator 1036 provides may comprise elements fordisplaying content, e.g., links to content items that are responsive tothe query that the user provides. For example, if the search results areprovided in an HTML file to a web browser executing for a client 1012,1014 and 1016, a widget may comprise a collection of HTML elements (suchas DIV elements) to form a modular display element.

According to one embodiment, the widget generator 1036 generates widgetson the basis of information stored within the interaction log 1034. Theinteraction log 1034 may store information regarding interaction by oneor more users with an associated widget that the widget generator 1036provides. For example, a widget generated by widget generator 1036 maycomprises an element for the display of search results from a particulardata server 1022, 1024 and 1026. The widget may comprise a plurality ofuser controls including, but not limited to, minimize/maximize buttons,a close button, a rank slider or the selection of search results fromthe widget. When a user interacts with any of the controls present onthe widget (e.g., minimizing the widget) a message may be sent to thecontent server 103 indicating the user action. According to oneembodiment, this message may be sent asynchronously utilizing AJAXtechnologies as is known by those of skill in the art.

When the content server 103 receives a message comprising informationregarding user interaction, the content server 103 may parse the messagethrough the use of a message parser (not shown) to update statisticsthat the interaction log 1034 may maintain. For example, if the contentserver 103 receives a message indicating that a user minimized a widget,a message parser may retrieve the currently stored information regardingthe widget and update the information, which the content server 103 mayperform on a per user basis. That is, a minimize message may signal thatthe widget is declining in popularity and thus a parameter definingwhether the widget is initially maximized may be adjusted to cause thewidget to initially display in a minimized state. More informationregarding the display of widgets is described in greater detail herein.

The widget generator 1036 may utilize the information from theinteraction log 1034 to control the manner or state in which a givenwidget is initially displayed on the search results page generated bythe page generator 1038. For example, a widget corresponding to one ormore search results retrieved from an image server (a server maintainingimages that are responsive to the user search query) may be more popularthan a widget corresponding to search results retrieved from a newsserver (a server maintaining news entries that are responsive to theuser search query). Popularity may be determined based upon userinteractions with a given widget. For example, the image widget mayreceive more clicks corresponding to the selection of links or moreclicks on the maximize control (e.g., bringing the search results intoview). Also, the news widget may receive few clicks corresponding to theselection of links or many clicks on the minimize control (e.g., takingthe search results out of view). Thus, it may be determined through thestored statistics (which may comprise the use of one or more statisticalmodels) that users prefer to browse pictures of items related to theirsearch results than to read blog entries related to their queries.

Alternative embodiments may exist wherein a plurality of other factorsmay be utilized in determining the initial display behavior of a widget.For example, the actual user query may be utilized to determine one ormore given widgets to display. Continuing the previous example, if auser enters the query “fiscal reform,” it may be determined that thenews widget provides more relevant results than the image widget and maythus be initially displayed in a maximized states and the image widgetmay be minimized. In addition to utilizing the actually user query,classes of queries may be utilized to determine one or more givenwidgets to display.

When the widgets are displayed on the search result page, a given widgetmust fetch data for display when opened. According to one embodiment, ifa given widget is closed, no data fetched for the widget. When a widgetis opened, an asynchronous request may be sent to a data server 102 forcontent. This asynchronous request allows the widget to update itselfwithout refreshing the entire page, thus increasing the speed at whichthe given client device 1012, 1014 and 1016 load the overall searchresults page. Although illustrated as separate from the content server103, other embodiments may exist wherein a data server, or multiple dataservers, may be present within the content server 103.

FIG. 2 presents a flow diagram illustrating one embodiment of a methodfor providing search results and widgets in response to a user query.According to the embodiment FIG. 2 illustrates, a user search query isreceived, step 201. As previously described, a user search query may bereceived via an HTML form element such as a text box and sent via HTTP.

After receiving a user search query, step 201, a check is performed todetermine if a user class profile exists, step 202. Many search enginesallow for a user to be “logged in”, that is, storing identificationinformation that allows the search engine to identify the user enteringa query. In one embodiment, class profiles may be generated thatcorrespond to groups of users. For example, users may be grouped bysupplied interests or locations provided by the users to the searchengine. An exemplary user may specify his or her occupation as a brokerand his or her location as New York City. This user may be classifiedaccordingly as a user who may prefer a news widget over an image widget,as is described in greater detail below. Embodiments of the presentinvention may utilize cookies to collect information regarding thesurfing habits and other online activity of the user for inclusion in aprofile, which may be for an individual user or, in aggregate, for oneor more classes of users.

If a user class profile exists, it is retrieved (step 203); if not, anaggregate profile is retrieved, step 204. In accordance with oneembodiment, an aggregate profile may comprise the recorded interactionsfor all users, e.g., a global profile. Although classes based onuser-supplied information are described, alternative embodiments of thepresent invention may utilize groupings such as classifying usersdynamically by extracting information from the request itself, such asan IP address of a user or information stored within an HTTP header.Those of skill in the art recognize that embodiments of the inventionmay also utilize an individual profile for a given individual user.

After a profile is retrieved from steps 203 or 204, widgets aregenerated corresponding to specific content that is provided on therequested page, step 205. The widgets generated in step 205 may begenerated according to a predetermined schema. In one embodiment, aplurality of widgets may be generated that are associated with aplurality of predetermined data servers. For example, a server may beconfigured to provide widgets for an image server, a news server, a blogserver and an answer server (such as Yahoo! Answers). Widgets operativeto retrieve search results from these servers may be generated in step205. As previously mentioned, in accordance with one embodiment thewidgets generated in step 205 contain only structural components such asHTML elements and do not contain content such as search result data.

After the widgets are generated in step 205, the profile retrieved insteps 203 or 204 may be applied to the widgets. According to oneembodiment, the profile information is utilized to determine whatcharacteristics or states the widgets exhibit on an initial page view.For example, a retrieved profile may illustrate that an image widget issubstantially less popular than a news widget, thus a profile may beapplied that causes the news widget to be minimized (such as via a tabinstead of an open window) upon the page load and the image widget to beexpanded (e.g., viewable) upon the page load.

The requested page and widgets are presented to the requesting user,step 207. The final page presented to the user may comprise acombination of requested search results from a first server and aplurality of widgets placed upon the same page. For example, a page maycontain a first set of widgets located within a first frame, a secondframe containing more widgets located with the first frame and a thirdframe containing the search results appearing as well.

FIG. 3 presents a flow diagram illustrating one embodiment of displayingwidgets on a search result page and monitoring user interaction with thewidgets. According to the embodiment illustrated in FIG. 3, a requestedsearch result page is received by a client device, step 301.

Upon receiving the page, a given widget is inspected to determinewhether the given widget is in an active state (e.g., maximized). Inaccordance with one embodiment, the widgets may be inspected usingJavaScript methods, as is known to those of skill in the art. A widgetis first selected for inspection, step 302. Widgets may be selected viaa function which iterates through all widgets on page load, inspectingwhether they are active or inactive. If the widget is determined to beactive (e.g., it is available to receive content, step 303), thecorresponding content is retrieved, step 304. The content may beretrieved using an asynchronous JavaScript method that enables contentto be retrieved “behind-the-scenes” while the requested page remainsotherwise unchanged. Alternative embodiments may exist to retrievewidget data, such as Flash or other techniques for the transmission ofcontent known to those of skill in the art. The widget data is retrievedand a determination is made as to whether any more widgets requireinspection, step 305. If more widgets remain to be inspected, theprocess restarts for the remaining widgets, step 302. If no additionalwidgets require inspection, the widgets are displayed to the user, step306.

The process remains at step 306 until the user interacts with one of thewidgets, step 307. If a user has interacted with a widget, adetermination is made as to what type of interaction was made, step 308.Various interactions may be made available to the user such as, openinga widget, closing a widget, rating the relevance of a widget orselecting a hyperlink that the widget displays.

If a user closes a widget, the widget window is subsequently closed,step 309. This closure may be in the form of minimizing, shading oractually removing the widget from the page. In one embodiment, a givenactions may be associated with a degree of irrelevance, that is,actually closing a widget may be deemed to illustrate more of a distastefor the widget than minimizing or shading a widget.

A user may also open a widget, step 310 a. The opening of a widget maybe in the form of actually opening a new widget, maximizing a minimizedwidget or refreshing the currently opened widget. As in the closure of awidget, each action may be weighted accordingly, such as weighting theopening of a new widget higher than that of refreshing a currentlyopened widget. When a new widget is opened, new content must beretrieved, step 310 b. In the case of opening or maximizing a widget,the widget is initially empty and thus the widget must retrieve newdata. In the case of refreshing a widget, data may already be presentand a user may be interacting directly with the widget to refresh thecontents of the widget, thus a new, different request may be sent torefresh the widget.

A variety of other actions may also be performed by the user on thewidget, step 311. For example, a widget may be equipped with a sliderbar, star rating or similar mechanism that allows a user to rate a givenwidget. Another example may be the selection of a provided hyperlinkwithin a widget. That is, a user interaction of selecting a relevantsearch result may be monitored by the widget. Another example may bemonitoring the amount of time a user views the widget. This may beaccomplished by monitoring the amount of time the user hovers the mouseof the widget, how long the user spends scrolling the widget window, ifavailable, or any other means known in the art to monitor the amount oftime a user spends viewing a given object.

The user performs an action and the interaction may be reported, e.g.,to a content provider, step 312. In the case of opening or closing awidget, an indication that the user has activated or deactivate a givenwidget may be sent along with the type of opening and closing performed,as described above. Furthermore, other interactions such as a ratingslider or selection of a hyperlink may be submitted to judge therelevancy of the provided results. When monitoring the amount of time auser interacts with the widget, certain embodiments contemplate thatonly a final interaction result may be supplied at the end of theinteraction period. For example, a timer may be started when a userhovers his or her mouse over the widget and may continue until the mousepointer is determined to be outside of the widget. An indication of howlong the mouse pointer remained on the widget may be recorded in step312. After the interactions of the user are recorded, interactionprofiles are updated for use in the event subsequent page views by theuser, step 313. As described previously, interaction profiles may storethe interactions of a user and allow that state of a given widget to beadjusted for a particular user.

Although the steps in FIG. 3 are illustrated in sequential order, it isimportant to note that it may be possible or advantageous, to performsteps in parallel. For example, the update of interaction profiles (313)is illustrated as being performed after retrieving new widget data (310b). These two steps, however, may be performed simultaneously if desiredusing a technique such as an asynchronous request in JavaScript or Flashas is known to those of skill in the art. Another example may beperforming the method of steps 302, 303, 304 and 305 in parallel toincrease the speed at which one or more widgets load.

FIGS. 1 through 3 are conceptual illustrations allowing for anexplanation of the present invention. It should be understood thatvarious aspects of the embodiments of the present invention could beimplemented in hardware, firmware, software, or combinations thereof. Insuch embodiments, the various components and/or steps would beimplemented in hardware, firmware, and/or software to perform thefunctions of the present invention. That is, the same piece of hardware,firmware, or module of software could perform one or more of theillustrated blocks (e.g., components or steps).

In software implementations, computer software (e.g., programs or otherinstructions) and/or data is stored on a machine readable medium as partof a computer program product, and is loaded into a computer system orother device or machine via a removable storage drive, hard drive, orcommunications interface. Computer programs (also called computercontrol logic or computer readable program code) are stored in a mainand/or secondary memory, and executed by one or more processors(controllers, or the like) to cause the one or more processors toperform the functions of the invention as described herein. In thisdocument, the terms “machine readable medium,” “computer program medium”and “computer usable medium” are used to generally refer to media suchas a random access memory (RAM); a read only memory (ROM); a removablestorage unit (e.g., a magnetic or optical disc, flash memory device, orthe like); a hard disk; electronic, electromagnetic, optical,acoustical, or other form of propagated signals (e.g., carrier waves,infrared signals, digital signals, etc.); or the like.

Notably, the figures and examples above are not meant to limit the scopeof the present invention to a single embodiment, as other embodimentsare possible by way of interchange of some or all of the described orillustrated elements. Moreover, where certain elements of the presentinvention can be partially or fully implemented using known components,only those portions of such known components that are necessary for anunderstanding of the present invention are described, and detaileddescriptions of other portions of such known components are omitted soas not to obscure the invention. In the present specification, anembodiment showing a singular component should not necessarily belimited to other embodiments including a plurality of the samecomponent, and vice-versa, unless explicitly stated otherwise herein.Moreover, applicants do not intend for any term in the specification orclaims to be ascribed an uncommon or special meaning unless explicitlyset forth as such. Further, the present invention encompasses presentand future known equivalents to the known components referred to hereinby way of illustration.

The foregoing description of the specific embodiments so fully revealsthe general nature of the invention that others can, by applyingknowledge within the skill of the relevant art(s) (including thecontents of the documents cited and incorporated by reference herein),readily modify and/or adapt for various applications such specificembodiments, without undue experimentation, without departing from thegeneral concept of the present invention. Such adaptations andmodifications are therefore intended to be within the meaning and rangeof equivalents of the disclosed embodiments, based on the teaching andguidance presented herein. It is to be understood that the phraseologyor terminology herein is for the purpose of description and not oflimitation, such that the terminology or phraseology of the presentspecification is to be interpreted by the skilled artisan in light ofthe teachings and guidance presented herein, in combination with theknowledge of one skilled in the relevant art(s).

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample, and not limitation. It would be apparent to one skilled in therelevant art(s) that various changes in form and detail could be madetherein without departing from the spirit and scope of the invention.Thus, the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

1. A method for providing dynamic search result widgets based uponhistorical user interaction, the method comprising: receiving a searchquery from a client requesting a search results page, wherein the searchquery comprises a one or more terms or phrases entered by a user into asearch engine webpage; generating one or more widgets for providingsearch result content that is responsive to the search query; applying adisplay profile to the one or more widgets by accessing an interactionlog that includes prior user interaction with the one or more widgets;identifying a plurality of search results that are responsive to thesearch query and generating a search results page containing theidentified search results; embedding the one or more widgets, having thedisplay profile applied thereon, within the generated search resultspage, wherein embedding the one or more widgets within the generatedsearch results page comprises placing the widget within a pre-definedlocation on the generated search results page; providing said searchresult page with embedded widgets to said client; and monitoring userinteraction with the one or more embedded widgets, wherein monitoringuser interaction comprises detecting user interaction with the one ormore widgets and recording the user interaction.
 2. The method of claim1, wherein the one or more widgets comprise a plurality of HTMLelements.
 3. The method of claim 1, wherein the one or more widgetscomprise a plurality of control elements.
 4. The method of claim 3,wherein said control elements comprise open, close, maximize or minimizeelements.
 5. The method of claim 1, wherein said display profilecontrols whether a given widget is displayed or hidden.
 6. The method ofclaim 1, wherein said display profile comprises aggregate statisticaldata regarding user interaction with the one or more widgets.
 7. Themethod of claim 1, wherein said display profile comprises class dataregarding class interaction with the one or more widgets.
 8. The methodof claim 1 wherein the one or more widgets are further operative toasynchronously request content after said search result page isprovided.
 9. The method of claim 3 further comprising recording clientinteraction information upon user interaction with a given widget. 10.The method of claim 9, wherein said client interaction information isstored in a profile.
 11. A system for providing dynamic search resultwidgets based upon historical user interaction comprising: a pluralityof client devices; a network coupled to said client devices; a pluralityof data servers coupled to said network; a content server coupled tosaid network operative to receive search queries from said clientdevices requesting a search results page, identify a plurality of searchresults that are responsive to the search query, and generate a searchresults page containing the identified search results, wherein thesearch query comprises a one or more terms or phrases entered by a userinto a search engine webpage, said content server comprising: aninteraction log comprising display profiles corresponding to one or morewidgets, the interaction log including prior user interactions with theone or more widgets generated from monitoring user interaction with theone or more widgets, wherein monitoring user interaction comprisesdetecting user interaction with the one or more widgets and recordingthe user interaction; a widget generator operative to generate one ormore widgets for providing search result content and apply a displayprofile to the one or more widgets; and a generator operative to embedthe one or more widgets within the generated search results page,wherein embedding the one or more widgets within the generated searchresults page comprises placing the widget within a pre-defined locationon the generated search results page.
 12. The system of claim 1 whereinthe one or more widgets comprise a plurality of HTML elements.
 13. Thesystem of claim 12, wherein the one or more widgets comprise the one ormore of control elements.
 14. The system of claim 11, wherein a givencontrol element comprises open, close, maximize or minimize elements.15. The system of claim 11, wherein said display profile controlswhether a given widget is displayed or hidden.
 16. The system of claim11, wherein said display profile comprises aggregate statistical dataregarding user interaction with the one or more widgets.
 17. The systemof claim 11, wherein said display profile comprises class data regardingclass interaction with the one or more widgets.
 18. The system of claim11 wherein the one or more widgets are operative to asynchronouslyrequest content after said search result page is provided.
 19. Thesystem of claim 13 wherein the one or more widgets are operative torecord client interaction information upon user interaction with a givencontrol element.
 20. The system of claim 19, wherein said clientinteraction information is stored in said display profile.